Skip to content

Add language-specific linting and shellcheck to format.sh - #5689

Merged
bm1549 merged 3 commits into
mainfrom
brian.marks/extra-linting
Nov 11, 2025
Merged

bm1549 merged 3 commits into
mainfrom
brian.marks/extra-linting

Conversation

@bm1549

@bm1549 bm1549 commented Nov 10, 2025

Copy link
Copy Markdown
Contributor

Motivation

#5684 failed linting in CI, although format.sh passed locally

Changes

This PR introduces npm checks (when installed) and shellcheck into format.sh to more easily identify these issues before a PR is opened

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on you PR until the CI passes
  3. Mark it as ready for review
    • Test logic is modified? -> Get a review from RFC owner.
    • Framework is modified, or non obvious usage of it -> get a review from R&P team

🚀 Once your PR is reviewed and the CI green, you can merge it!

🛟 #apm-shared-testing 🛟

Reviewer checklist

  • If PR title starts with [<language>], double-check that only <language> is impacted by the change
  • No system-tests internal is modified. Otherwise, I have the approval from R&P team
  • A docker base image is modified?
    • the relevant build-XXX-image label is present
  • A scenario is added (or removed)?

@github-actions

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

.github/workflows/lint.yml                                              @DataDog/system-tests-core
.shellcheck                                                             @DataDog/system-tests-core
format.sh                                                               @DataDog/system-tests-core
requirements.txt                                                        @DataDog/system-tests-core
utils/build/docker/nodejs/express/package-lock.json                     @DataDog/dd-trace-js @DataDog/system-tests-core
utils/scripts/shellcheck.sh                                             @DataDog/system-tests-core

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This came from running npm install; npm ci would fail otherwise

Comment thread format.sh
local e
for e; do [[ "${e}" == "${needle}" ]] && return 0; done

# shellcheck disable=SC2053 # explicitly allow glob matching

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needed glob matching to ignore *node_modules*, otherwise this fails locally if you've installed any of them before

@bm1549
bm1549 requested a review from cbeauchesne November 10, 2025 15:15
@bm1549
bm1549 marked this pull request as ready for review November 10, 2025 15:18
@bm1549
bm1549 requested review from a team as code owners November 10, 2025 15:18
Comment thread format.sh
Comment thread format.sh Outdated
@bm1549
bm1549 requested a review from cbeauchesne November 10, 2025 16:00
@bm1549

bm1549 commented Nov 11, 2025

Copy link
Copy Markdown
Contributor Author

Test failure are unrelated - going to bypass merge

@bm1549
bm1549 merged commit 48235bb into main Nov 11, 2025
2605 of 2612 checks passed
@bm1549
bm1549 deleted the brian.marks/extra-linting branch November 11, 2025 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants